const http = require("http");
const url = require("url");
const fs = require("fs");
const server = http.createServer((req, res) => {
  /*
      存放多条数据 ： 存放的格式 是 对象数组:[
      {name:"zhangsan",age:20},
      {name:"zhangsan222",age:21},
      {name:"lisi",age:23}
    ]
      // 第一请求的时候 初始化一个 空数组；
  */
  let query = url.parse(req.url, true).query;
  if (typeof query.username !== "undefined") {
    try {
      // 第一次请求的时候初始化空数组，存入到data.json里去
      if (!fs.existsSync("./data.json")) { // 没有data.json文件的时候会进入if判断
        // 初始化一个空数组字符串到data.json文件中去
        fs.writeFileSync("./data.json", JSON.stringify([]));
      }
      // 把query里的数据添加到数组中
      // 获取data.json中的数据
      let arr = JSON.parse(fs.readFileSync("./data.json"));
      console.log(arr);  // []
      // 把query里的数据添加到arr数组中
      arr.push(query);
      console.log(arr);
      // 重新把最新的数组添加到data.json文件中去
      fs.writeFileSync("./data.json", JSON.stringify(arr));// 修改之后的数组 重新覆盖之前的data.json文件
      res.write("success");
    } catch (err) {
      console.log(err);
      res.write("error")
    }
  }
  res.end();
})
server.listen(8080);